home *** CD-ROM | disk | FTP | other *** search
/ Gekkan Dennou Club 145 / Gekkan Dennou Club - 2000.6 Vol. 145 (Japan).7z / Gekkan Dennou Club - 2000.6 Vol. 145 (Japan) (Track 1).bin / tools / sharp / sxwork3.lzh / サンプル実用編 / 目覚まし時計 / ALARM.H < prev    next >
Text File  |  1994-03-10  |  3KB  |  92 lines

  1. /******************************************************************************
  2.  *    alarm.h:    目覚まし時計のヘッダファイル
  3.  ******************************************************************************
  4.  *    Workroom SX-68K Sample Program Copyright 1994 SHARP
  5.  *
  6.  *    定数定義
  7.  */
  8. /* ウィンドウタイトル */
  9. #define WINTITLE    ((_LASCII) "\x0c目覚まし時計")
  10.  
  11. /* ウィンドウサイズ */
  12. #define WIN_H        160        /* ウィンドウの幅        */
  13. #define WIN_V        80        /* ウィンドウの高さ        */
  14.  
  15. #define FRAME        22
  16. #define CHART_ENT    144
  17. #define ICNSIZE_H    64
  18. #define ICNSIZE_V    56
  19. #define CACHESIZE    4096
  20.  
  21. #define PCMLENGTH    16384        /* 効果音のデータの大きさ    */
  22. #define PCMNOTENO    24        /* 効果音を登録するノート番号 (C1) */
  23.  
  24. #define TEXT_LEN    5
  25. #define A2BYTE(a,b)    ((((a) & 0x0f) * 10) + ((b) & 0x0f))
  26.  
  27. /* イベントマスク */
  28. #define EVENTMASK    (EM_IDLE | EM_MSLDOWN | EM_MSRDOWN | EM_UPDATE | EM_ACTIVATE | EM_SYSTEM1 | EM_SYSTEM2)
  29. /*
  30.  *    構造体宣言
  31.  */
  32. typedef struct ComVal {            /* 共通変数            */
  33.     Window *windowPtr;        /* ウィンドウポインタ        */
  34.     BOOLEAN activeFlag;        /* アクティブフラグ        */
  35.     TsEvent event;            /* イベントレコード        */
  36.     int eventMask;            /* イベントマスク        */
  37.     int errorCode;            /* エラーコード            */
  38.     BOOLEAN endFlag;        /* 終了フラグ            */
  39.     BOOLEAN iconFlag;        /* ウィンドウかアイコンかの状態    */
  40.     int click;            /* ダブルクリックチェック用バッファ */
  41.     int nowTime;            /* 現在時刻待避            */
  42.     int alarmTime;            /* アラーム時刻待避        */
  43.     int animaMode;            /* アニメーション実行フラグ    */
  44.     int animaWait;            /* アニメーション用時間待ち    */
  45.     char pcmChNo;            /* PCMチャンネルの番号    */
  46.     Handle pcmDataHdl;        /* PCMデータのハンドル    */
  47.     char **pcmBufHdl[128];        /* 保存用PCMバッファのハンドル */
  48.     RectImg **iconImg[FRAME];    /* アイコンビットイメージのハンドル */
  49.     Control **setBtnHdl;        /* ボタンのコントロールハンドル    */
  50.     TEdit **tEditHdl;        /* テキストエディットハンドル    */
  51. } ComVal;
  52. /*
  53.  *    外部変数宣言
  54.  */
  55. extern Rect rcSetBtn;
  56. extern Rect rcEdit;
  57. extern Rect rcErace;
  58. /*
  59.  *    関数プロトタイプ
  60.  */
  61. /* almain.c */
  62. BOOLEAN init(ComVal *);
  63. BOOLEAN createWindow(ComVal *);
  64. BOOLEAN createText(ComVal *);
  65. void idleEvent(ComVal *);
  66. void msLDownEvent(ComVal *);
  67. void checkControl(ComVal *);
  68. void msRDownEvent(ComVal *);
  69. void selectMenu(ComVal *);
  70. void keyDownEvent(ComVal *);
  71. void updateEvent(ComVal *);
  72. void drawGraph(ComVal *);
  73. void activateEvent(ComVal *);
  74. void systemEvent(ComVal *);
  75. void showErrDialog(ComVal *);
  76. void endProc(int, ComVal *);
  77. BOOLEAN loadResource(ComVal *);
  78. void copyResource(Handle, Handle *);
  79. void addUpdate(Window *, Rect *);
  80.  
  81. /* alarm.c */
  82. BOOLEAN dragIcon(ComVal *, BOOLEAN);
  83. BOOLEAN gotoWindow(ComVal *);
  84. BOOLEAN gotoIcon(ComVal *);
  85. void turnClock(ComVal *);
  86. BOOLEAN checkAlarmTime(ComVal *);
  87. void putUdPat3(ComVal *, RectImg **, LPoint);
  88. char getPcmChannel(void);
  89. BOOLEAN backupPcm(ComVal *pcv);
  90. void restorePcm(ComVal *pcv);
  91. BOOLEAN loadPcm(ComVal *);
  92.